// vue.config.js
const path = require('path');


function resolve(dir) {
  return path.join(__dirname, dir)
}

const proxyUrl = '';
const mockUrl = 'http://localhost:3660/'

// 获取环境变量
const original = JSON.parse(process.env.npm_config_argv).original
const target = original[0] === 'start:no-mock' ? proxyUrl : mockUrl;



// 代理
const proxy = {
  '/v1/study': {
    target: target,
    ws: true,
    changeOrigin: true
  },
}


module.exports = {
  chainWebpack: config => {
    // ts
    config.module
      .rule('ts')
      .use('ts-loader')
      .loader('ts-loader')
      .end()
      .use('babel-loader')
      .loader('babel-loader')
      .end()
      .use('cache-loader')
      .loader('cache-loader')
      .end()
    // 配置路径别名
    config.resolve.alias
      .set('@', resolve('src'))

    // 配置修改title
    config
      .plugin('html')
      .tap(args => {
        args[0].title = 'vue3-study1'
        return args
      })
  },
  // 开发环境服务
  devServer: {
    inline: true,
    hot: true,
    stats: 'minimal',
    clientLogLevel: 'error',
    contentBase: __dirname,
    overlay: true,
    historyApiFallback: true,
    // 代理
    proxy,
  },

  // eslint （不阻塞开发）
  lintOnSave: false,

  // 第三方插件配置
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: [path.resolve(__dirname, './src/assets/less/const.less')]
    }
  },



}
